deep dive 모던 자바스크립트 Deep Dive 정리 1 변수 메모리는 데이터를 저장할 수 있는 메모리 셀의 집합체이다. 의도와 다른 값이 변경되거나 시스템이 멈출 수 있고, 직접적으로 메모리를 제어하더라도 값이 저장될 메모리 주소는 코드가 실행될 때 상황에 따라 임의로 결정되기 때문에 개발자가 사용하기 좋지 않고 리스크만 클 뿐이다. 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 메모리 공간을 식별하기 위해 붙인 이름을 말한다. 변수... deep diveJavaScriptJavaScript [Deep Dive] 10. 객체 자바스크립트는 객체(object)기반의 프로그래밍 언어이며, 자바스크립트를 구성하는 거의 "모든 것"이 객체다. → 원시 값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체다. 객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 키(key)와 값(value)으로 구성된다. 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해 메서드(method)라 부른다. 프로퍼티 ... JavaScriptdeep diveJavaScript 모던 자바스크립트 Deep Dive[데이터 타입] 6장 데이터 타입 정리 var, let 선언(declaration)과 정의(definition) 💡 ECMAScript 사양에서 변수는 '선언한다'라고 표현하고, 함수는 '정의한다'라고 표현한다. Symbol 데이터 타입이 필요한 이유 동적 타입(Dynamic type) 언어와 변수 이러한 이유들로 인해서 변수를 사용하기 이전에 데이터 타입을 체크해야 하는 경우가 있는데 이는 매우 번거롭고,... 모던 자바스크립트deep dive데이터 타입jsJavaScriptJavaScript DEEP DIVE 한 장 요약 (스코프) 변수는 코드의 가장 바깥 영역뿐 아니라 코드 블록이나 함수 몸체 내에서도 선언할 수 있다. 모든 식별자(변수 이름, 함수 이름, 클래스 이름 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위(스코프)가 결정된다. 위 예제 코드의 가장 바깥 영역에 선언된 변수 x는 어디서든 참조할 수 있다. 하지만 foo 함수 내부에서 선언된 변수 x는 foo함수 내부에서... localglobalscopedeep dive정적 스코프렉시컬 스코프지역전역Java ScriptJava Script DEEP DIVE 한 장 요약 (객체) 원시 타입(primitive type) 은 단 하나의 값만 나타내지만 객체 타입(object/reference type) 은 다양한 타입의 값(원시 값 또는 다른 객체)을 하나의 단위로 구성한 복합적인 자료구조(data structure) 이다. 또한 원시 타입의 값, 즉 원시 값은 변경 불가능한 값이지만 객체 타입의 값, 즉 객체는 변경 가능한 값이다. 자바스크립트에서 사용할 수 있는 모든... JavaScriptobjectjs객체deep dive프로퍼티메서드JavaScript DEEP DIVE 한 장 요약 (함수) 수학의 함수 자바스크립트의 함수 따라서 함수도 함수 리터럴로 생성할 수 있다. 함수 이름은 생략할 수 있다. 이름이 있는 함수를 기명 함수, 이름이 없는 함수를 무명/익명 함수라 한다. ② 함수 표현식 함수는 일급 객체이므로 함수 리터럴로 생성한 함수 객체를 변수에 할당할 수 있다. 따라서 함수 표현식을 통해 함수를 호출할 때는 함수 이름이 아닌 함수 객체를 가리키는 식별자(여기서는 add)... 함수 리터럴함수고차 함수js함수 표현식기명 함수즉시 실행 함수익명 함수deep divefunctionJava Script함수 선언문Java Script Deep Dive 04장 변수 변수 : 값의 위치를 가리키는 상징적인 이름 변수는 값이 아닌 해당 값을 가지고 있는 메모리의 주소를 저장하고 있다. 변수 선언 es6 문법에서 새로 도입된 키워드인 let과 const는 이러한 단점을 보완하기 위해서 만들어졌음 자바스크립트는 다른 언어와 다르게 함수를 선언만 해 두어도 메모리에 암묵적으로 초기화 하여 undefined를 저장하고 주소를 변수에 저장함. 다른언어에서는 이전 다... deep divejsdeep dive [Deep dive] 스코프 변수는 자신이 선언된 위치에 의해 자신이 유효한 범위, 즉 다른 코드가 변수 자신을 참조할 수 있는 범위가 결정된다. 전역 스코프 지역 스코프 지역 변수는 자신이 선언된 지역과 하위 지역에서만 참조할 수 있다. 변수를 참조할 때 자바스크립트 엔진은 스코프 체인을 통해 변수를 참조하는 코드의 스코프에서 시작하여 상위 스코프 방향으로 이동하며 선언된 변수를 검색한다. 이를 통해 상위 스코프에서 ... JavaScriptdeep diveJavaScript DEEP DIVE 두 장 요약 (이벤트 ⑵ , event) 이벤트 핸들러가 바인딩된 DOM 요소 내가 클릭한 이벤트 객체를 동적으로 가리키는 ① e.target은 querySelector로 선택한 $checkbox를 가리키고 있기 때문에 그대로 해당 요소 태그를 보여줍니다. 내가 클릭한 이벤트 객체의 타깃의 현재 제일 상위 태그를 나타내는 ② currentTarget은 querySelector로 선택한 $checkbox가 제일 상위 태그이므로 해당 ... JavaScriptjs이벤트 전파Eventdeep dive이벤트 캡처링이벤트 위임이벤트 버블링이벤트 타깃Event [Deep Dive] 27. 배열(1) 배열(Array)은 여러 개의 값을 순차적으로 나열한 자료구조다. 배열이 가지고 있는 값을 요소(element)라고 부른다. 배열의 요소는 배열에서 자신의 위치를 나타내는 0이상의 정수인 인덱스(index)를 갖고, 인덱스는 배열의 요소에 접근할 때 사용한다. 인덱스는 0부터 시작한다. 배열은 요소의 개수, 즉 배열의 길이를 나타내는 length 프로퍼티를 갖는다. → for문에서 많이 사용... JavaScriptdeep diveJavaScript JavaScript - 함수 선언문과 함수 표현식, 함수 호이스팅과 변수 호이스팅 함수 선언문과 함수 표현식, 함수 호이스팅과 변수 호이스팅의 차이를 확실하게 알아보자. 함수 정의 함수 호출 함수 정의를 먼저 자세히 알아보자. 함수 정의 함수 선언문 함수 표현식 Function 생성자 함수 화살표 함수 그 중에서 함수 선언문과 함수 표현식의 차이를 알아보자. 함수 표현식 vs 함수 선언문 함수 표현식 함수는 값처럼 변수에 할당할 수 있는 일급 객체이므로, 함수 리터럴로 생... 팀 러버덕js스터디deep divedeep dive
모던 자바스크립트 Deep Dive 정리 1 변수 메모리는 데이터를 저장할 수 있는 메모리 셀의 집합체이다. 의도와 다른 값이 변경되거나 시스템이 멈출 수 있고, 직접적으로 메모리를 제어하더라도 값이 저장될 메모리 주소는 코드가 실행될 때 상황에 따라 임의로 결정되기 때문에 개발자가 사용하기 좋지 않고 리스크만 클 뿐이다. 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 메모리 공간을 식별하기 위해 붙인 이름을 말한다. 변수... deep diveJavaScriptJavaScript [Deep Dive] 10. 객체 자바스크립트는 객체(object)기반의 프로그래밍 언어이며, 자바스크립트를 구성하는 거의 "모든 것"이 객체다. → 원시 값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체다. 객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 키(key)와 값(value)으로 구성된다. 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해 메서드(method)라 부른다. 프로퍼티 ... JavaScriptdeep diveJavaScript 모던 자바스크립트 Deep Dive[데이터 타입] 6장 데이터 타입 정리 var, let 선언(declaration)과 정의(definition) 💡 ECMAScript 사양에서 변수는 '선언한다'라고 표현하고, 함수는 '정의한다'라고 표현한다. Symbol 데이터 타입이 필요한 이유 동적 타입(Dynamic type) 언어와 변수 이러한 이유들로 인해서 변수를 사용하기 이전에 데이터 타입을 체크해야 하는 경우가 있는데 이는 매우 번거롭고,... 모던 자바스크립트deep dive데이터 타입jsJavaScriptJavaScript DEEP DIVE 한 장 요약 (스코프) 변수는 코드의 가장 바깥 영역뿐 아니라 코드 블록이나 함수 몸체 내에서도 선언할 수 있다. 모든 식별자(변수 이름, 함수 이름, 클래스 이름 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위(스코프)가 결정된다. 위 예제 코드의 가장 바깥 영역에 선언된 변수 x는 어디서든 참조할 수 있다. 하지만 foo 함수 내부에서 선언된 변수 x는 foo함수 내부에서... localglobalscopedeep dive정적 스코프렉시컬 스코프지역전역Java ScriptJava Script DEEP DIVE 한 장 요약 (객체) 원시 타입(primitive type) 은 단 하나의 값만 나타내지만 객체 타입(object/reference type) 은 다양한 타입의 값(원시 값 또는 다른 객체)을 하나의 단위로 구성한 복합적인 자료구조(data structure) 이다. 또한 원시 타입의 값, 즉 원시 값은 변경 불가능한 값이지만 객체 타입의 값, 즉 객체는 변경 가능한 값이다. 자바스크립트에서 사용할 수 있는 모든... JavaScriptobjectjs객체deep dive프로퍼티메서드JavaScript DEEP DIVE 한 장 요약 (함수) 수학의 함수 자바스크립트의 함수 따라서 함수도 함수 리터럴로 생성할 수 있다. 함수 이름은 생략할 수 있다. 이름이 있는 함수를 기명 함수, 이름이 없는 함수를 무명/익명 함수라 한다. ② 함수 표현식 함수는 일급 객체이므로 함수 리터럴로 생성한 함수 객체를 변수에 할당할 수 있다. 따라서 함수 표현식을 통해 함수를 호출할 때는 함수 이름이 아닌 함수 객체를 가리키는 식별자(여기서는 add)... 함수 리터럴함수고차 함수js함수 표현식기명 함수즉시 실행 함수익명 함수deep divefunctionJava Script함수 선언문Java Script Deep Dive 04장 변수 변수 : 값의 위치를 가리키는 상징적인 이름 변수는 값이 아닌 해당 값을 가지고 있는 메모리의 주소를 저장하고 있다. 변수 선언 es6 문법에서 새로 도입된 키워드인 let과 const는 이러한 단점을 보완하기 위해서 만들어졌음 자바스크립트는 다른 언어와 다르게 함수를 선언만 해 두어도 메모리에 암묵적으로 초기화 하여 undefined를 저장하고 주소를 변수에 저장함. 다른언어에서는 이전 다... deep divejsdeep dive [Deep dive] 스코프 변수는 자신이 선언된 위치에 의해 자신이 유효한 범위, 즉 다른 코드가 변수 자신을 참조할 수 있는 범위가 결정된다. 전역 스코프 지역 스코프 지역 변수는 자신이 선언된 지역과 하위 지역에서만 참조할 수 있다. 변수를 참조할 때 자바스크립트 엔진은 스코프 체인을 통해 변수를 참조하는 코드의 스코프에서 시작하여 상위 스코프 방향으로 이동하며 선언된 변수를 검색한다. 이를 통해 상위 스코프에서 ... JavaScriptdeep diveJavaScript DEEP DIVE 두 장 요약 (이벤트 ⑵ , event) 이벤트 핸들러가 바인딩된 DOM 요소 내가 클릭한 이벤트 객체를 동적으로 가리키는 ① e.target은 querySelector로 선택한 $checkbox를 가리키고 있기 때문에 그대로 해당 요소 태그를 보여줍니다. 내가 클릭한 이벤트 객체의 타깃의 현재 제일 상위 태그를 나타내는 ② currentTarget은 querySelector로 선택한 $checkbox가 제일 상위 태그이므로 해당 ... JavaScriptjs이벤트 전파Eventdeep dive이벤트 캡처링이벤트 위임이벤트 버블링이벤트 타깃Event [Deep Dive] 27. 배열(1) 배열(Array)은 여러 개의 값을 순차적으로 나열한 자료구조다. 배열이 가지고 있는 값을 요소(element)라고 부른다. 배열의 요소는 배열에서 자신의 위치를 나타내는 0이상의 정수인 인덱스(index)를 갖고, 인덱스는 배열의 요소에 접근할 때 사용한다. 인덱스는 0부터 시작한다. 배열은 요소의 개수, 즉 배열의 길이를 나타내는 length 프로퍼티를 갖는다. → for문에서 많이 사용... JavaScriptdeep diveJavaScript JavaScript - 함수 선언문과 함수 표현식, 함수 호이스팅과 변수 호이스팅 함수 선언문과 함수 표현식, 함수 호이스팅과 변수 호이스팅의 차이를 확실하게 알아보자. 함수 정의 함수 호출 함수 정의를 먼저 자세히 알아보자. 함수 정의 함수 선언문 함수 표현식 Function 생성자 함수 화살표 함수 그 중에서 함수 선언문과 함수 표현식의 차이를 알아보자. 함수 표현식 vs 함수 선언문 함수 표현식 함수는 값처럼 변수에 할당할 수 있는 일급 객체이므로, 함수 리터럴로 생... 팀 러버덕js스터디deep divedeep dive